﻿

using VisitorPattern.Visitor;

namespace VisitorPattern;

internal class StudentFree : Student
{
    public string? CourseFree { get; set; }

    /// <summary>
    /// 但是实现的抽象类中的方法如果还有分支该怎么办
    /// 比如：在不同的时间段，获取权限不同
    /// 1 只有代码没有视频
    /// 2 根据暗号获取当次课的视频
    /// 3 找助教获取当次课的视频
    /// </summary>
    public override void GetVideo()
    {
        //if ()
        //{}
        //else if ()
        //{}
        //else
        //{}
        Console.WriteLine($"{this.GetType().Name} 获取当次课的视频和代码");
    }

    public override void GetVideoVisitor(IVisitor visitorCurrent)
    {
        visitorCurrent.GetVideoFree(this);
    }
}
